using aichat.Entities;

namespace aichat.Services
{
    public interface IChatService
    {
        Task<ChatMessage> SendMessageAsync(int userId, string message, string aiModel);
        Task<List<ChatMessage>> GetUserChatHistoryAsync(int userId, int page = 1, int pageSize = 20);
        Task<bool> DeleteChatMessageAsync(int messageId, int userId);
        Task<List<AiModel>> GetAvailableAiModelsAsync(int userId);
        Task<string> GetTypingResponseAsync(string message, string aiModel, IProgress<string>? progress);
        Task<bool> SaveChatMessageAsync(ChatMessage chatMessage);
    }
} 